package com.lanou3g.zjl.chating.utils;

import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

import butterknife.ButterKnife;

/**
 * Created by dllo on 15/11/17.
 */
public abstract class BaseActivity extends FragmentActivity {

    protected String tag = getClass().getSimpleName();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(getLayout());
        //初始化依赖注入
        ButterKnife.bind(this);
        ActivityControl.addAty(tag, this);
        //初始化数据
        initData();
    }
    /**
     * 返回值为所要加载的布局文件
     * @return
     */
    protected abstract int getLayout();

    /**
     * 初始化数据
     */
    protected abstract void initData();

    @Override
    protected void onDestroy() {
        super.onDestroy();
        ActivityControl.removeAty(tag);
    }

    /**
     * 复写back键方法  让它不是直接退出而是在后台运行
     */
    @Override
    public void onBackPressed() {
//        super.onBackPressed();    注掉这句话的原因是因为 系统会默认调用back键的退出方法
        Intent i = new Intent(Intent.ACTION_MAIN);  // 选中主界面
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  // activity的model 保证只有一个activity（栈中只有一个）
        i.addCategory(Intent.CATEGORY_HOME);       // 设置该Activity随系统启动而运行(也就是开机状态不关闭？)
        startActivity(i);
    }
}
